package com.st.event.demo.annotation;

import com.st.event.demo.enums.HandlerEnum;

import java.lang.annotation.*;

/**
 * @author yhxst
 * @date 2019-02-22
 * 事件触发器，需要声明触发器类和对应的方法，方法参数需要对应
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.METHOD})
public @interface EventTrigger {

    /**
     * 触发容器中的Bean
     *
     * @return
     */
    String triggerBeanName();

    /**
     * bean的方法
     *
     * @return
     */
    String methodName();

    /**
     * 默认的执行器
     *
     * @return
     */
    HandlerEnum handler() default HandlerEnum.DEFAULT;
}
